import React, { Fragment } from "react"
import { View, Text } from "@tarojs/components"
import styles from "./index.module.scss"

const enum ProfTypes {
  /** 美术与设计类 */
  ART = 1,
  /** 书法类 */
  WRITING = 2,
  /** 舞蹈类 */
  DANCING = 3,
  /** 表（导）演类 */
  ACTION = 4,
  /** 音乐类 */
  MUSIC = 5,
  /** 播音与主持类 */
  PRESENTATION = 6,
  /** 戏剧影视导演 */
  DIRECTOR = 7,
  /** 戏剧影视表演 */
  SHOWTIME = 8,
  /** 服装表演 */
  CLOTHES = 9,
  /** 戏曲类 */
  XIQU = 10,
  /** 编导类 */
  BIANDAO = 11,
  /** 美术类 */
  PAINT = 12,
  /** 戏剧影视文学（广播电视编导） */
  CULTRUE = 13,
  /** 表（导）演类-戏剧影视表演 */
  SHOWTIMEMOVIE = 14,
  /** 表（导）演类-服装表演 */
  SHOWTIMECLOTHES = 15,
  /** 表（导）演类-戏剧影视导演 */
  SHOWTIMEDIRECTOR = 16,
  /** 音乐类-音乐表演 */
  SHOWTIMEMUSIC = 17,
  /** 音乐类-音乐教育 */
  TEACHMUSIC = 18,
  /** 戏剧影视（广播电视编导）
   * @alias ProfTypes#CULTRUE
   */
  CULTRUESHORT = 19
}
const ProfTypesMap = new Map<ProfTypes, string>([
  [ProfTypes.ART, "美术与设计类"],
  [ProfTypes.WRITING, "书法类"],
  [ProfTypes.DANCING, "舞蹈类"],
  [ProfTypes.ACTION, "表（导）演类"],
  [ProfTypes.MUSIC, "音乐类"],
  [ProfTypes.PRESENTATION, "播音与主持类"],
  [ProfTypes.DIRECTOR, "戏剧影视导演"],
  [ProfTypes.SHOWTIME, "戏剧影视表演"],
  [ProfTypes.CLOTHES, "服装表演"],
  [ProfTypes.XIQU, "戏曲类"],
  [ProfTypes.BIANDAO, "编导类"],
  [ProfTypes.PAINT, "美术类"],
  [ProfTypes.CULTRUE, "戏剧影视文学（广播电视编导）"],
  [ProfTypes.SHOWTIMEMOVIE, "表（导）演类-戏剧影视表演"],
  [ProfTypes.SHOWTIMECLOTHES, "表（导）演类-服装表演"],
  [ProfTypes.SHOWTIMEDIRECTOR, "表（导）演类-戏剧影视导演"],
  [ProfTypes.SHOWTIMEMUSIC, "音乐类-音乐表演"],
  [ProfTypes.TEACHMUSIC, "音乐类-音乐教育"],
  [ProfTypes.CULTRUESHORT, "戏剧影视(广播电视编导)"]
])
function getBasicField(profType: ProfTypes) {
  return {
    value: profType,
    text: ProfTypesMap.get(profType)
  }
}
function mapProfToText(profs: ProfTypes[]) {
  return profs.map(prof => ProfTypesMap.get(prof)).join("、")
}
function toFixed(value: number, fractionDigits?: number): string {
  let digit = Number.prototype.toFixed.call(value, fractionDigits) as string
  if (~digit.indexOf(".")) {
    while (digit[digit.length - 1] !== ".") {
      if (digit[digit.length - 1] === "0") {
        digit = digit.slice(0, -1)
      } else {
        break
      }
    }
    if (digit[digit.length - 1] === ".") {
      digit = digit.slice(0, -1)
    }
  }
  return digit
}
export type IStaticDistrict = typeof districts[number]
export type ICalculateExtraParams = {
  extra?: number
  computeWay?: number
}
export const districts = [
  {
    value: 1,
    text: "北京",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [
      {
        text: "本科投档公式",
        value: 1
      },
      {
        text: "专科投档公式",
        value: 2
      }
    ],
    fullText: "北京市",
    profTypes: [
      ProfTypes.ART,
      ProfTypes.WRITING,
      ProfTypes.DANCING,
      ProfTypes.MUSIC,
      ProfTypes.PRESENTATION,
      ProfTypes.ACTION,
      ProfTypes.XIQU
    ].map(profType => ({
      ...getBasicField(profType),
      calculator: {
        zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
          const computeWay = extraParams?.computeWay as number
          if (computeWay === 1) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5)
          } else if (computeWay === 2) {
            return toFixed(second * 0.5 + (third / 300) * 450 * 0.5)
          }
        },
        wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
          const computeWay = extraParams?.computeWay as number
          if (computeWay === 1) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          } else if (computeWay === 2) {
            return toFixed((second - (third / 300) * 450 * 0.5) / 0.5)
          }
        },
        prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
          const computeWay = extraParams?.computeWay as number
          if (computeWay === 1) {
            return toFixed(((second - third * 0.5) / 750 / 0.5) * 300)
          } else if (computeWay === 2) {
            return toFixed(((second - third * 0.5) / 450 / 0.5) * 300)
          }
        }
      }
    })),
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION,
            ProfTypes.ACTION,
            ProfTypes.XIQU
          ]),
        calculation: () =>
          React.createElement(Fragment, null, [
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "本科综合分＝艺术类统考成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["/300×750×50%"]
                ),
                "＋高考文化课成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×50%"]
                )
              ]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "专科(高职)综合分＝艺术类统考（戏曲类联考）成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["/300×450×50%"]
                ),
                "＋高考文化课成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×50%"]
                )
              ]
            )
          ])
      }
    ]
  },
  {
    value: 2,
    text: "天津",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "天津市",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.8 + third * 2.5 * 0.2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.2) / 0.8)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.8) / (2.5 * 0.2))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "＋专业统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×80%"]
              ),
              "＋专业统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×20%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 3,
    text: "河北",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "河北省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + (third / 300) * 750 * 0.3, 3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.7) / (750 * 0.3)) * 300)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化总成绩（含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.5"]
              ),
              "+（专业成绩÷专业满分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×0.5"]
              ),
              "(结果保留三位小数)"
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化总成绩（含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.7"]
              ),
              "+（专业成绩÷专业满分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×0.3"]
              ),
              "(结果保留三位小数)"
            ]
          )
      }
    ]
  },
  {
    value: 4,
    text: "四川",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "四川省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / ((750 / 300) * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / ((750 / 300) * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / ((750 / 300) * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / ((750 / 300) * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / ((750 / 300) * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / ((750 / 300) * 0.5))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "＋专业分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×(750/300)×50%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 5,
    text: "广东",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "广东省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.6 + third * 2.5 * 0.4)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.4) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.6) / (2.5 * 0.4))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化课成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+省统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化课成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×60%"]
              ),
              "+省统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×40%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 6,
    text: "山西",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "山西省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化课成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+专业统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 7,
    text: "内蒙古",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "内蒙古自治区",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.6 + third * 2.5 * 0.4)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.4) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.6) / (2.5 * 0.4))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.6 + third * 2.5 * 0.4)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.4) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.6) / (2.5 * 0.4))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + third * 2.5 * 0.3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.7) / (2.5 * 0.3))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () => mapProfToText([ProfTypes.MUSIC, ProfTypes.DANCING, ProfTypes.ACTION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.ART, ProfTypes.WRITING]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×60%"]
              ),
              "+专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×40%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              ),
              "+专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×30%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 8,
    text: "辽宁",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "辽宁省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 100 * 0.6 + (third / 300) * 100 * 0.4)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - (third / 300) * 100 * 0.4) * 750) / (100 * 0.6))
          },
          prof(second: number, third: number) {
            return toFixed(((second - (third / 750) * 100 * 0.6) * 300) / (100 * 0.4))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 100 * 0.6 + (third / 300) * 100 * 0.4)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - (third / 300) * 100 * 0.4) * 750) / (100 * 0.6))
          },
          prof(second: number, third: number) {
            return toFixed(((second - (third / 750) * 100 * 0.6) * 300) / (100 * 0.4))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DIRECTOR),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 100 * 0.7 + (third / 300) * 100 * 0.3)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - (third / 300) * 100 * 0.3) * 750) / (100 * 0.7))
          },
          prof(second: number, third: number) {
            return toFixed(((second - (third / 750) * 100 * 0.7) * 300) / (100 * 0.3))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 100 * 0.5 + (third / 300) * 100 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - (third / 300) * 100 * 0.5) * 750) / (100 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed(((second - (third / 750) * 100 * 0.5) * 300) / (100 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 100 * 0.5 + (third / 300) * 100 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - (third / 300) * 100 * 0.5) * 750) / (100 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed(((second - (third / 750) * 100 * 0.5) * 300) / (100 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.SHOWTIME),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 100 * 0.5 + (third / 300) * 100 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - (third / 300) * 100 * 0.5) * 750) / (100 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed(((second - (third / 750) * 100 * 0.5) * 300) / (100 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.CLOTHES),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 100 * 0.5 + (third / 300) * 100 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - (third / 300) * 100 * 0.5) * 750) / (100 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed(((second - (third / 750) * 100 * 0.5) * 300) / (100 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 100 * 0.5 + (third / 300) * 100 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - (third / 300) * 100 * 0.5) * 750) / (100 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed(((second - (third / 750) * 100 * 0.5) * 300) / (100 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.XIQU),
        calculator: {
          zonghe(_second: number, third: number) {
            return toFixed(third)
          },
          wenhua(second: number, _third: number) {
            return toFixed(second)
          },
          prof(second: number, _third: number) {
            return toFixed(second)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () => mapProfToText([ProfTypes.ART, ProfTypes.WRITING]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化课成绩/文化课总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×100×60%"]
              ),
              "+专业课成绩/专业课总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×100×40%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.DIRECTOR]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化课成绩/文化课总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×100×70%"]
              ),
              "+专业课成绩/专业课总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×100×30%"]
              )
            ]
          )
      },
      {
        profs: () =>
          mapProfToText([
            ProfTypes.MUSIC,
            ProfTypes.DANCING,
            ProfTypes.SHOWTIME,
            ProfTypes.CLOTHES,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化课成绩/文化课总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×100×50%"]
              ),
              "+专业课成绩/专业课总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×100×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.XIQU]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            ["省际联考成绩"]
          )
      }
    ]
  },
  {
    value: 9,
    text: "吉林",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "吉林省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + third * 2.5 * 0.3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.7) / (2.5 * 0.3))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.MUSIC,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.ART,
            ProfTypes.WRITING
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "＋专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              ),
              "＋专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×30%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 10,
    text: "黑龙江",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "黑龙江省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((third / 300) * 750 * 0.4 + second * 0.6)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.4) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.6) * 300) / (750 * 0.4))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((third / 300) * 750 * 0.4 + second * 0.6)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.4) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.6) * 300) / (750 * 0.4))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((third / 300) * 750 * 0.5 + second * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((third / 300) * 750 * 0.5 + second * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((third / 300) * 750 * 0.5 + second * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(third * 0.2 + second * 0.8)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 0.2) / 0.8)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.8) / 0.2)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () => mapProfToText([ProfTypes.ART, ProfTypes.WRITING]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "（专业课成绩÷专业课满分×750）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×40%"]
              ),
              "+文化课成绩（含照顾政策分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×60% "]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.MUSIC, ProfTypes.DANCING, ProfTypes.ACTION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "（专业课成绩÷专业课满分×750）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+文化课成绩（含照顾政策分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "专业课成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×20%"]
              ),
              "+文化课成绩（含照顾政策分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×80%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 11,
    text: "上海",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [
      {
        text: "本科投档公式",
        value: 1
      },
      {
        text: "专科投档公式",
        value: 2
      }
    ],
    fullText: "上海市",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second * 0.5 + third * (660 / 300) * 0.5, 2)
            } else if (computeWay === 2) {
              return toFixed(second * 0.5 + third * (450 / 300) * 0.5, 2)
            }
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * (660 / 300) * 0.5) / 0.5)
            } else if (computeWay === 2) {
              return toFixed((second - third * (450 / 300) * 0.5) / 0.5)
            }
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * 0.5) / ((660 / 300) * 0.5))
            } else if (computeWay === 2) {
              return toFixed((second - third * 0.5) / ((450 / 300) * 0.5))
            }
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second * 0.5 + third * (660 / 300) * 0.5, 2)
            } else if (computeWay === 2) {
              return toFixed(second * 0.5 + third * (450 / 300) * 0.5, 2)
            }
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * (660 / 300) * 0.5) / 0.5)
            } else if (computeWay === 2) {
              return toFixed((second - third * (450 / 300) * 0.5) / 0.5)
            }
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * 0.5) / ((660 / 300) * 0.5))
            } else if (computeWay === 2) {
              return toFixed((second - third * 0.5) / ((450 / 300) * 0.5))
            }
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second * 0.5 + third * (660 / 300) * 0.5, 2)
            } else if (computeWay === 2) {
              return toFixed(second * 0.5 + third * (450 / 300) * 0.5, 2)
            }
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * (660 / 300) * 0.5) / 0.5)
            } else if (computeWay === 2) {
              return toFixed((second - third * (450 / 300) * 0.5) / 0.5)
            }
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * 0.5) / ((660 / 300) * 0.5))
            } else if (computeWay === 2) {
              return toFixed((second - third * 0.5) / ((450 / 300) * 0.5))
            }
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second * 0.5 + third * (660 / 300) * 0.5, 2)
            } else if (computeWay === 2) {
              return toFixed(second * 0.5 + third * (450 / 300) * 0.5, 2)
            }
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * (660 / 300) * 0.5) / 0.5)
            } else if (computeWay === 2) {
              return toFixed((second - third * (450 / 300) * 0.5) / 0.5)
            }
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * 0.5) / ((660 / 300) * 0.5))
            } else if (computeWay === 2) {
              return toFixed((second - third * 0.5) / ((450 / 300) * 0.5))
            }
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second * 0.5 + third * (660 / 300) * 0.5, 2)
            } else if (computeWay === 2) {
              return toFixed(second * 0.5 + third * (450 / 300) * 0.5, 2)
            }
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * (660 / 300) * 0.5) / 0.5)
            } else if (computeWay === 2) {
              return toFixed((second - third * (450 / 300) * 0.5) / 0.5)
            }
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * 0.5) / ((660 / 300) * 0.5))
            } else if (computeWay === 2) {
              return toFixed((second - third * 0.5) / ((450 / 300) * 0.5))
            }
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second * 0.5 + third * (660 / 300) * 0.5, 2)
            } else if (computeWay === 2) {
              return toFixed(second * 0.5 + third * (450 / 300) * 0.5, 2)
            }
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * (660 / 300) * 0.5) / 0.5)
            } else if (computeWay === 2) {
              return toFixed((second - third * (450 / 300) * 0.5) / 0.5)
            }
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed((second - third * 0.5) / ((660 / 300) * 0.5))
            } else if (computeWay === 2) {
              return toFixed((second - third * 0.5) / ((450 / 300) * 0.5))
            }
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.MUSIC,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(Fragment, null, [
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "本科投档成绩=文化成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×50%"]
                ),
                "+专业统考成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×660/300×50%"]
                )
              ]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "专科投档成绩=文化成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×50%"]
                ),
                "+专业统考成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×450/300×50%"]
                )
              ]
            )
          ])
      }
    ]
  },
  {
    value: 12,
    text: "江苏",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "江苏省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((second / 750) * 0.6 + (third / 300) * 0.4) * 750)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 750 - (third / 300) * 0.4) * 750) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 750 - (third / 750) * 0.6) * 300) / 0.4)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((second / 750) * 0.6 + (third / 300) * 0.4) * 750)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 750 - (third / 300) * 0.4) * 750) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 750 - (third / 750) * 0.6) * 300) / 0.4)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((second / 750) * 0.5 + (third / 300) * 0.5) * 750)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 750 - (third / 300) * 0.5) * 750) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 750 - (third / 750) * 0.5) * 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((second / 750) * 0.5 + (third / 300) * 0.5) * 750)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 750 - (third / 300) * 0.5) * 750) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 750 - (third / 750) * 0.5) * 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((second / 750) * 0.5 + (third / 300) * 0.5) * 750)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 750 - (third / 300) * 0.5) * 750) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 750 - (third / 750) * 0.5) * 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((second / 750) * 0.7 + (third / 300) * 0.3) * 750)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 750 - (third / 300) * 0.3) * 750) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 750 - (third / 750) * 0.7) * 300) / 0.3)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () => mapProfToText([ProfTypes.MUSIC, ProfTypes.DANCING, ProfTypes.ACTION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "[（高考文化分÷文化满分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+专业分÷专业满分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "）]×750"
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.ART, ProfTypes.WRITING]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "[（高考文化分÷文化满分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×60%"]
              ),
              "+专业分÷专业满分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×40%"]
              ),
              "）]×750"
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "[（高考文化分÷文化满分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              ),
              "+专业分÷专业满分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×30%"]
              ),
              "）]×750"
            ]
          )
      }
    ]
  },
  {
    value: 13,
    text: "浙江",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "浙江省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.8 + third * 2.5 * 0.2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.2) / 0.8)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.8) / (2.5 * 0.2))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+专业省级统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×80%"]
              ),
              "+专业省级统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×20%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 14,
    text: "安徽",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "安徽省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + third * 2.5 * 0.3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.7) / (2.5 * 0.3))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+专业省级统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              ),
              "+专业省级统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×30%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 15,
    text: "福建",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: true,
    computeWays: [],
    fullText: "福建省",
    profTypes: [
      ProfTypes.SHOWTIMEMUSIC,
      ProfTypes.TEACHMUSIC,
      ProfTypes.DANCING,
      ProfTypes.SHOWTIME,
      ProfTypes.CLOTHES,
      ProfTypes.DIRECTOR,
      ProfTypes.PRESENTATION,
      ProfTypes.ART,
      ProfTypes.WRITING
    ].map(profType => {
      return {
        ...getBasicField(profType),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return (second + extra) * 0.5 + third * 2.5 * 0.5
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed((second - third * 2.5 * 0.5) / 0.5 - extra)
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed((second - (third + extra) * 0.5) / (2.5 * 0.5))
          }
        }
      }
    }),
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.SHOWTIMEMUSIC,
            ProfTypes.TEACHMUSIC,
            ProfTypes.DANCING,
            ProfTypes.SHOWTIME,
            ProfTypes.CLOTHES,
            ProfTypes.DIRECTOR,
            ProfTypes.PRESENTATION,
            ProfTypes.ART,
            ProfTypes.WRITING
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "（考生文考总分＋政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "＋考生省级专业统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 35,
    text: "江西",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "江西省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.3 + (third / 450) * 750 * 0.7, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 450) * 750 * 0.7) / 0.3)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.3) * 450) / (750 * 0.7))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.CULTRUESHORT),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + (third / 200) * 750 * 0.3, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 200) * 750 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.7) * 200) / (750 * 0.3))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + (third / 200) * 750 * 0.3, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 200) * 750 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.7) * 200) / (750 * 0.3))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () => mapProfToText([ProfTypes.ART]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×30％"]
              ),
              "+专业分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["/450×750×70％"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.CULTRUE, ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70％"]
              ),
              "+专业分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["/200×750×30％"]
              )
            ]
          )
      }
    ],
    deprecated: true
  },
  {
    value: 16,
    text: "江西",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "江西省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.SHOWTIME),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.CLOTHES),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DIRECTOR),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + (third / 300) * 750 * 0.3, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.7) * 300) / (750 * 0.3))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + (third / 300) * 750 * 0.3, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.7) * 300) / (750 * 0.3))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.MUSIC,
            ProfTypes.DANCING,
            ProfTypes.SHOWTIME,
            ProfTypes.CLOTHES,
            ProfTypes.ART,
            ProfTypes.WRITING
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化总成绩（含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50％"]
              ),
              "+（专业成绩/300）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×50％"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.DIRECTOR, ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化总成绩（含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70％"]
              ),
              "+（专业成绩/300）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×30％"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 17,
    text: "山东",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "山东省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + ((third * 750) / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - ((third * 750) / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((((second - third * 0.5) / 750) * 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + ((third * 750) / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - ((third * 750) / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((((second - third * 0.5) / 750) * 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + ((third * 750) / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - ((third * 750) / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((((second - third * 0.5) / 750) * 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + ((third * 750) / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - ((third * 750) / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((((second - third * 0.5) / 750) * 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.6 + ((third * 750) / 300) * 0.4)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - ((third * 750) / 300) * 0.4) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed((((second - third * 0.6) / 750) * 300) / 0.4)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + ((third * 750) / 300) * 0.3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - ((third * 750) / 300) * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed((((second - third * 0.7) / 750) * 300) / 0.3)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([ProfTypes.MUSIC, ProfTypes.DANCING, ProfTypes.ACTION, ProfTypes.ART]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750/300×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.WRITING]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×60%"]
              ),
              "+专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750/300×40%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              ),
              "+专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750/300×30%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 18,
    text: "河南",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [
      {
        text: "本科-公式一",
        value: 1
      },
      {
        text: "本科-公式二",
        value: 2
      },
      {
        text: "本科-公式三",
        value: 3
      },
      {
        text: "本科-公式四",
        value: 4
      },
      {
        text: "本科-公式五",
        value: 5
      },
      {
        text: "专科-公式",
        value: 6
      }
    ],
    fullText: "河南省",
    profTypes: [
      ProfTypes.ART,
      ProfTypes.WRITING,
      ProfTypes.DANCING,
      ProfTypes.ACTION,
      ProfTypes.MUSIC,
      ProfTypes.PRESENTATION
    ].map(profType => {
      return {
        ...getBasicField(profType),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second, 2)
            } else if (computeWay === 2) {
              return toFixed(second * 0.8 + (third / 300) * 750 * 0.2, 2)
            } else if (computeWay === 3) {
              return toFixed(second * 0.7 + (third / 300) * 750 * 0.3, 2)
            } else if (computeWay === 4) {
              return toFixed(second * 0.6 + (third / 300) * 750 * 0.4, 2)
            } else if (computeWay === 5 || computeWay === 6) {
              return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
            }
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second)
            } else if (computeWay === 2) {
              return toFixed((second - (third / 300) * 750 * 0.2) / 0.8)
            } else if (computeWay === 3) {
              return toFixed((second - (third / 300) * 750 * 0.3) / 0.7)
            } else if (computeWay === 4) {
              return toFixed((second - (third / 300) * 750 * 0.4) / 0.6)
            } else if (computeWay === 5 || computeWay === 6) {
              return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
            }
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const computeWay = extraParams?.computeWay as number
            if (computeWay === 1) {
              return toFixed(second)
            } else if (computeWay === 2) {
              return toFixed(((second - third * 0.8) * 300) / 750 / 0.2)
            } else if (computeWay === 3) {
              return toFixed(((second - third * 0.7) * 300) / 750 / 0.3)
            } else if (computeWay === 4) {
              return toFixed(((second - third * 0.6) * 300) / 750 / 0.4)
            } else if (computeWay === 5 || computeWay === 6) {
              return toFixed(((second - third * 0.5) * 300) / 750 / 0.5)
            }
          }
        }
      }
    }),
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(Fragment, null, [
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              ["本科"]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              ["①按文化总成绩(结果保留两位小数)"]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "②按文化总成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×0.8"]
                ),
                "+专业成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["÷300×750×0.2"]
                )
              ]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "③按文化总成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×0.7"]
                ),
                "+专业成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["÷300×750×0.3"]
                )
              ]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "④按文化总成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×0.6"]
                ),
                "+专业成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["÷300×750×0.4"]
                )
              ]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "⑤按文化总成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×0.5"]
                ),
                "+专业成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["÷300×750×0.5"]
                )
              ]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              ["专科"]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "按文化总成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×0.5"]
                ),
                "+专业成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["÷300×750×0.5"]
                )
              ]
            )
          ])
      }
    ]
  },
  {
    value: 19,
    text: "湖北",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "湖北省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second * 0.4 + third * 0.6) * 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second / 2 - third * 0.6) / 0.4)
          },
          prof(second: number, third: number) {
            return toFixed((second / 2 - third * 0.4) / 0.6)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.SHOWTIME),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second * 0.4 + third * 0.6) * 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second / 2 - third * 0.6) / 0.4)
          },
          prof(second: number, third: number) {
            return toFixed((second / 2 - third * 0.4) / 0.6)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second * 0.4 + third * 0.6) * 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second / 2 - third * 0.6) / 0.4)
          },
          prof(second: number, third: number) {
            return toFixed((second / 2 - third * 0.4) / 0.6)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second * 0.3 + third * 0.7) * 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second / 2 - third * 0.7) / 0.3)
          },
          prof(second: number, third: number) {
            return toFixed((second / 2 - third * 0.3) / 0.7)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.CLOTHES),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second * 0.3 + third * 0.7) * 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second / 2 - third * 0.7) / 0.3)
          },
          prof(second: number, third: number) {
            return toFixed((second / 2 - third * 0.3) / 0.7)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second + third)
          },
          wenhua(second: number, third: number) {
            return toFixed(second - third)
          },
          prof(second: number, third: number) {
            return toFixed(second - third)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DIRECTOR),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second + third)
          },
          wenhua(second: number, third: number) {
            return toFixed(second - third)
          },
          prof(second: number, third: number) {
            return toFixed(second - third)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second + third)
          },
          wenhua(second: number, third: number) {
            return toFixed(second - third)
          },
          prof(second: number, third: number) {
            return toFixed(second - third)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () => mapProfToText([ProfTypes.MUSIC, ProfTypes.SHOWTIMEMOVIE, ProfTypes.ART]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "（文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×40%"]
              ),
              "+专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×60%"]
              ),
              "）×2"
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.DANCING, ProfTypes.SHOWTIMECLOTHES]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "（文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×30%"]
              ),
              "+专业成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              ),
              "）×2"
            ]
          )
      },
      {
        profs: () =>
          mapProfToText([ProfTypes.WRITING, ProfTypes.SHOWTIMEDIRECTOR, ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            ["文化成绩+专业成绩"]
          )
      }
    ]
  },
  {
    value: 20,
    text: "湖南",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "湖南省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.3 + third * 0.7, 1)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 0.7) / 0.3)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.3) / 0.7)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.3 + third * 0.7, 1)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 0.7) / 0.3)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.3) / 0.7)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.3 + third * 0.7, 1)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 0.7) / 0.3)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.3) / 0.7)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.3 + third * 0.7, 1)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 0.7) / 0.3)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.3) / 0.7)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.3 + third * 0.7, 1)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 0.7) / 0.3)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.3) / 0.7)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second + third)
          },
          wenhua(second: number, third: number) {
            return toFixed(second - third)
          },
          prof(second: number, third: number) {
            return toFixed(second - third)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化成绩（含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×30%"]
              ),
              "+专业统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            ["高考文化成绩（含政策性加分）+专业统考成绩"]
          )
      }
    ]
  },
  {
    value: 21,
    text: "广西",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "广西壮族自治区",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (750 / 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (750 / 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (750 / 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (750 / 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (750 / 300) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * (750 / 300) * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * (750 / 300) * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (750 / 300) / 0.5)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+综合分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×(750/300)×50%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 22,
    text: "海南",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "海南省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((0.5 * second) / 900 + (0.5 * third) / 300) * 500)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 500 - (0.5 * third) / 300) * 900) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 500 - (0.5 * third) / 900) / 0.5) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((0.5 * second) / 900 + (0.5 * third) / 300) * 500)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 500 - (0.5 * third) / 300) * 900) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 500 - (0.5 * third) / 900) / 0.5) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.SHOWTIMEMUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((0.5 * second) / 900 + (0.5 * third) / 300) * 500)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 500 - (0.5 * third) / 300) * 900) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 500 - (0.5 * third) / 900) / 0.5) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.TEACHMUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((0.55 * second) / 900 + (0.45 * third) / 300) * 500)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 500 - (0.45 * third) / 300) * 900) / 0.55)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 500 - (0.55 * third) / 900) / 0.45) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((0.55 * second) / 900 + (0.45 * third) / 300) * 500)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 500 - (0.45 * third) / 300) * 900) / 0.55)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 500 - (0.55 * third) / 900) / 0.45) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((0.55 * second) / 900 + (0.45 * third) / 300) * 500)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 500 - (0.45 * third) / 300) * 900) / 0.55)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 500 - (0.55 * third) / 900) / 0.45) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(((0.55 * second) / 900 + (0.45 * third) / 300) * 500)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second / 500 - (0.45 * third) / 300) * 900) / 0.55)
          },
          prof(second: number, third: number) {
            return toFixed(((second / 500 - (0.55 * third) / 900) / 0.45) * 300)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () => mapProfToText([ProfTypes.DANCING, ProfTypes.ACTION, ProfTypes.SHOWTIMEMUSIC]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "(高考文化课成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.5/900"]
              ),
              "＋艺术类省级统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.5/300)*500"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.DANCING, ProfTypes.ACTION, ProfTypes.SHOWTIMEMUSIC]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "(高考文化课成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.55/900"]
              ),
              "＋艺术类省级统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.45/300)*500"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 23,
    text: "重庆",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "重庆市",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 300 * 0.5 + third * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 750) / (300 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed((second - (third / 750) * 300 * 0.5) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 300 * 0.5 + third * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 750) / (300 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed((second - (third / 750) * 300 * 0.5) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 300 * 0.5 + third * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 750) / (300 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed((second - (third / 750) * 300 * 0.5) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 300 * 0.5 + third * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 750) / (300 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed((second - (third / 750) * 300 * 0.5) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 300 * 0.5 + third * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 750) / (300 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed((second - (third / 750) * 300 * 0.5) / 0.5)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed((second / 750) * 300 * 0.5 + third * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 750) / (300 * 0.5))
          },
          prof(second: number, third: number) {
            return toFixed((second - (third / 750) * 300 * 0.5) / 0.5)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["/750×300×50％"]
              ),
              "+专业统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50％"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 24,
    text: "贵州",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "贵州省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / 750 / 0.5) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / 750 / 0.5) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / 750 / 0.5) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / 750 / 0.5) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / 750 / 0.5) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.6 + (third / 300) * 750 * 0.4, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.4) / 0.6)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.6) / 750 / 0.4) * 300)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "综合成绩=高考文化总成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+（省级统考成绩÷省级统考成绩满分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×50%"]
              ),
              "(结果保留两位小数)"
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "综合成绩=高考文化总成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×60%"]
              ),
              "+（省级统考成绩÷省级统考成绩满分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×40%"]
              ),
              "(结果保留两位小数)"
            ]
          )
      }
    ]
  },
  {
    value: 25,
    text: "云南",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [
      {
        text: "公式一",
        value: 1
      },
      {
        text: "公式二",
        value: 2
      },
      {
        text: "公式三",
        value: 3
      }
    ],
    fullText: "云南省",
    profTypes: [
      ProfTypes.MUSIC,
      ProfTypes.DANCING,
      ProfTypes.ACTION,
      ProfTypes.ART,
      ProfTypes.WRITING,
      ProfTypes.PRESENTATION
    ].map(profType => ({
      ...getBasicField(profType),
      calculator: {
        zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
          const computeWay = extraParams?.computeWay as number
          if (computeWay === 1) {
            return toFixed(second * 0.5 + ((third * 750) / 300) * 0.5)
          } else if (computeWay === 2) {
            return toFixed(second * 0.7 + ((third * 750) / 300) * 0.3)
          } else if (computeWay === 3) {
            return toFixed(second)
          }
        },
        wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
          const computeWay = extraParams?.computeWay as number
          if (computeWay === 1) {
            return toFixed((second - ((third * 750) / 300) * 0.5) / 0.5)
          } else if (computeWay === 2) {
            return toFixed((second - ((third * 750) / 300) * 0.3) / 0.7)
          } else if (computeWay === 3) {
            return toFixed(second)
          }
        },
        prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
          const computeWay = extraParams?.computeWay as number
          if (computeWay === 1) {
            return toFixed((((second - third * 0.5) / 0.5) * 300) / 750)
          } else if (computeWay === 2) {
            return toFixed((((second - third * 0.7) / 0.3) * 300) / 750)
          } else if (computeWay === 3) {
            return toFixed(second)
          }
        }
      }
    })),
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.MUSIC,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(Fragment, null, [
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "①按文化总成绩（含照顾分）",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×50%"]
                ),
                "+专业成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×750÷300×50%"]
                )
              ]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              [
                "②按文化总成绩（含照顾分）",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×70%"]
                ),
                "+专业成绩",
                React.createElement(
                  Text,
                  {
                    className: styles.highLight
                  },
                  ["×750÷300×30%"]
                )
              ]
            ),
            React.createElement(
              View,
              {
                className: styles.rulesCalculation
              },
              ["③按文化总成绩（含照顾分）"]
            )
          ])
      }
    ]
  },
  {
    value: 26,
    text: "西藏",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "西藏自治区",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) / (750 * 0.5)) * 300)
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化总成绩（含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.5"]
              ),
              "+（专业成绩/专业满分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×0.5"]
              ),
              "(结果保留两位小数)"
            ]
          )
      }
    ]
  },
  {
    value: 27,
    text: "陕西",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "陕西省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化课成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+（省级统考成绩÷省级统考满分×高考文化课满分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 28,
    text: "甘肃",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "甘肃省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + (third / 300) * 750 * 0.3, 2)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.7) * 300) / (750 * 0.3))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化课总分（不含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+专业课总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["÷300×750×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "文化课总分（不含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              ),
              "+专业课总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["÷300×750×50%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 29,
    text: "青海",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: true,
    computeWays: [],
    fullText: "青海省",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5 + extra)
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed((second - (third / 300) * 750 * 0.5 - extra) / 0.5)
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(((second - third * 0.5 - extra) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5 + extra)
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed((second - (third / 300) * 750 * 0.5 - extra) / 0.5)
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(((second - third * 0.5 - extra) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5 + extra)
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed((second - (third / 300) * 750 * 0.5 - extra) / 0.5)
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(((second - third * 0.5 - extra) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5 + extra)
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed((second - (third / 300) * 750 * 0.5 - extra) / 0.5)
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(((second - third * 0.5 - extra) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5 + extra)
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed((second - (third / 300) * 750 * 0.5 - extra) / 0.5)
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(((second - third * 0.5 - extra) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(second * 0.7 + (third / 300) * 750 * 0.3 + extra)
          },
          wenhua(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed((second - (third / 300) * 750 * 0.3 - extra) / 0.7)
          },
          prof(second: number, third: number, extraParams?: ICalculateExtraParams) {
            const extra = extraParams?.extra as number
            return toFixed(((second - third * 0.7 - extra) * 300) / (750 * 0.3))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化总成绩（高考文化课分数）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.5"]
              ),
              "+（专业成绩÷专业满分300分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×0.5"]
              ),
              "+政策性加分"
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化总成绩（高考文化课分数）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×0.7"]
              ),
              "+（专业成绩÷专业满分300分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×750×0.3"]
              ),
              "+政策性加分"
            ]
          )
      }
    ]
  },
  {
    value: 30,
    text: "宁夏",
    year: 2024,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "宁夏回族自治区",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + third * 2.5 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.5) / (2.5 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.7 + third * 2.5 * 0.3)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - third * 2.5 * 0.3) / 0.7)
          },
          prof(second: number, third: number) {
            return toFixed((second - third * 0.7) / (2.5 * 0.3))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "＋省级统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×50%"]
              )
            ]
          )
      },
      {
        profs: () => mapProfToText([ProfTypes.PRESENTATION]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考总分",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×70%"]
              ),
              "＋省级统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×2.5×30%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 31,
    text: "新疆",
    year: 2025,
    disabled: false,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "新疆维吾尔自治区",
    profTypes: [
      {
        ...getBasicField(ProfTypes.ART),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.WRITING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.DANCING),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.ACTION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.MUSIC),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      },
      {
        ...getBasicField(ProfTypes.PRESENTATION),
        calculator: {
          zonghe(second: number, third: number) {
            return toFixed(second * 0.5 + (third / 300) * 750 * 0.5)
          },
          wenhua(second: number, third: number) {
            return toFixed((second - (third / 300) * 750 * 0.5) / 0.5)
          },
          prof(second: number, third: number) {
            return toFixed(((second - third * 0.5) * 300) / (750 * 0.5))
          }
        }
      }
    ],
    rulesList: [
      {
        profs: () =>
          mapProfToText([
            ProfTypes.ART,
            ProfTypes.WRITING,
            ProfTypes.DANCING,
            ProfTypes.ACTION,
            ProfTypes.MUSIC,
            ProfTypes.PRESENTATION
          ]),
        calculation: () =>
          React.createElement(
            View,
            {
              className: styles.rulesCalculation
            },
            [
              "高考文化课成绩（含政策性加分）",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["×50%"]
              ),
              "+专业统考成绩",
              React.createElement(
                Text,
                {
                  className: styles.highLight
                },
                ["/300×750×50%"]
              )
            ]
          )
      }
    ]
  },
  {
    value: 32,
    text: "香港",
    year: 2024,
    disabled: true,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "中国香港",
    profTypes: [],
    rulesList: []
  },
  {
    value: 33,
    text: "澳门",
    year: 2024,
    disabled: true,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "中国澳门",
    profTypes: [],
    rulesList: []
  },
  {
    value: 34,
    text: "台湾",
    year: 2024,
    disabled: true,
    computable: true,
    showExtra: false,
    computeWays: [],
    fullText: "中国台湾",
    profTypes: [],
    rulesList: []
  }
].filter(item => !item.deprecated)
